// pages/mine/mine.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: null
  },
  gotopayorder() {
    if (this.form.username) {
      if (this.form.phone) {
        if (reg.phone.test(this.form.phone)) {
          // 接口调用 
          var obj = {
            usename: this.form.username,
            phone: this.form.phone
          }
          // 1. 创建订单  生成订单
          this.$ajax.createOrder({
            good_id: this.id,
            num: this.value,
            ...obj
          })
            .then(res => {
              if (res.result == 'ok') {
                this.oid = res.code.order_id
                // 2. 开始支付   换取支付的5个字段 
                this.$ajax.unifiedPayment({
                  orderid: res.code.order_id,
                  platform: 'weixin'
                })
                  .then(data => {
                    console.log(data.message.msg)
                    // 支付参数 
                    const {
                      appId,
                      nonceStr,
                      // package,
                      paySign,
                      signType,
                      timestamp
                    } = data.message.msg
                    // 3. 手机支付 输入密码 
                    uni.requestPayment(
                      {
                        appId: data.message.msg.appId,
                        nonceStr,
                        package: data.message.msg.package,
                        paySign,
                        signType,
                        timeStamp: timestamp,
                        success: res => {
                          console.log(res)
                          this.getDetailData(this.oid)
                        },
                        "fail": function (err) {
                          console.log(err)

                        },
                        "complete": function (res) {
                          console.log(res)
                          setTimeout(() => {
                            uni.navigateTo({
                              url: '../order/order?from=order'
                            })
                          }, 500)
                        }
                      })
                  })
              } else {
                uni.showToast({
                  title: '订单无法支付,请联系客服',
                  icon: 'none'
                })
              }
            })
        } else {
          uni.showToast({
            title: "请输入正确的手机号码",
            icon: "none"
          })
        }
      } else {
        uni.showToast({
          title: "请输入手机号码",
          icon: "none"
        })
      }
    } else {
      uni.showToast({
        title: "请输入姓名",
        icon: "none"
      })
    }
  },
  getPhoneNumber(e, a, b) {
    console.log(e)
    console.log(a)
    console.log(b)

    // e ==> 加密的数据 微信给你的 用户的手机号的加密数据
    // 前端把这个数据ajax 传给后端 
    // 后端拿到这个数据去找微信后端拿到对应的手机号
    // 后端再把这个手机号发给你的前端 


  },
  todoLogout() {
    this.setData({
      userInfo: null
    })

    wx.removeStorageSync('userInfo')
  },
  authLogin() {
    // 微信小程序的登录逻辑 

    // 1. 授权认证
    // 2. 获取手机号
    // 3. 登录确认 

    wx.getUserProfile({
      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        console.log(res)
        // 登录 
        wx.login({
          success: (result) => {
            console.log(result)
            if (result.code) {
              //发起网络请求
              // 接口 
              // 前端拿到这个 code 去请求后端的登录 login 接口 
              // 后端的login接口 拿到这个code 去微信后台认证登录信息 
              // 微信后台返回成功 就是 后台服务返回成功 
              // 后端就成功回调的接口返回给前端  
              // 顺带用户信息存储起来 
              // Ajax.login 
              wx.showToast({
                title: '登录成功',
                icon: 'none'
              })
              this.setData({
                userInfo: res.userInfo
              })
              wx.setStorageSync('userInfo', res.userInfo)
            } else {
              console.log('登录失败！' + result.errMsg)
              wx.showToast({
                title: '登录失败',
                icon: 'none'
              })
            }
          },
          fail() {
            wx.showToast({
              title: '登录失败',
              icon: 'none'
            })
          }
        })
      },
      fail() {
        wx.showToast({
          title: '你取消了授权认证',
          icon: 'none'
        })
      }
    })


  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if (wx.getStorageSync('userInfo')) {
      this.setData({
        userInfo: wx.getStorageSync('userInfo')
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})